\hypertarget{classace_1_1_graphics___imp}{\section{クラス ace\-:\-:Graphics\-\_\-\-Imp}
\label{classace_1_1_graphics___imp}\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
}


描画を管理するクラス  




{\ttfamily \#include $<$ace.\-Graphics\-\_\-\-Imp.\-h$>$}

ace\-:\-:Graphics\-\_\-\-Impに対する継承グラフ\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.294478cm]{df/de8/classace_1_1_graphics___imp}
\end{center}
\end{figure}
\subsection*{Public メソッド}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classace_1_1_graphics___imp_a380a95d5764b26565965b16c21b77356}{{\bfseries Graphics\-\_\-\-Imp} (\hyperlink{structace_1_1_vector2_d_i}{Vector2\-D\-I} size, \hyperlink{classace_1_1_log}{Log} $\ast$log)}\label{classace_1_1_graphics___imp_a380a95d5764b26565965b16c21b77356}

\item 
virtual void \hyperlink{classace_1_1_graphics___imp_a01cdb8dced31a926c9ca604ebdf1e90a}{Clear} (bool is\-Color\-Target, bool is\-Depth\-Target, const \hyperlink{structace_1_1_color}{Color} \&color)=0
\begin{DoxyCompactList}\small\item\em 画面をクリアする。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_ad4a26538ae0fadc23082578384f96589}{virtual void \hyperlink{classace_1_1_graphics___imp_ad4a26538ae0fadc23082578384f96589}{Present} ()=0}\label{classace_1_1_graphics___imp_ad4a26538ae0fadc23082578384f96589}

\begin{DoxyCompactList}\small\item\em 内部のバッファを画面に表示する。 \end{DoxyCompactList}\item 
virtual void \hyperlink{classace_1_1_graphics___imp_afab7408e22bc54b909485422a2b15b6c}{Save\-Screenshot} (const achar $\ast$path)=0
\begin{DoxyCompactList}\small\item\em スクリーンショットを保存する。 \end{DoxyCompactList}\item 
\hyperlink{classace_1_1_texture2_d___imp}{Texture2\-D\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a24ce9f935d22e97fd06a9012501df320}{Create\-Texture2\-D\-\_\-\-Imp} (const achar $\ast$path)
\begin{DoxyCompactList}\small\item\em テクスチャを生成する。 \end{DoxyCompactList}\item 
virtual \hyperlink{classace_1_1_render_texture___imp}{Render\-Texture\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a5390d16360dbfba39ead84687bc331a6}{Create\-Render\-Texture\-\_\-\-Imp} (int32\-\_\-t width, int32\-\_\-t height, e\-Texture\-Format format)=0
\begin{DoxyCompactList}\small\item\em 描画先として指定可能なテクスチャを生成する。 \end{DoxyCompactList}\item 
\hyperlink{classace_1_1_shader2_d___imp}{Shader2\-D\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a451276265eb812183e7fd36e7f05ed82}{Create\-Shader2\-D\-\_\-\-Imp} (const achar $\ast$shader\-Text, std\-::vector$<$ \hyperlink{classace_1_1_shader_variable_property}{Shader\-Variable\-Property} $>$ \&variable\-Properties)
\begin{DoxyCompactList}\small\item\em シェーダー(2\-D)を生成する。 \end{DoxyCompactList}\item 
\hyperlink{classace_1_1_material2_d___imp}{Material2\-D\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a4f8f3d3daef4298ad535cbb268677058}{Create\-Material2\-D\-\_\-\-Imp} (\hyperlink{classace_1_1_shader2_d___imp}{Shader2\-D\-\_\-\-Imp} $\ast$shader)
\begin{DoxyCompactList}\small\item\em マテリアル(2\-D)を生成する。 \end{DoxyCompactList}\item 
virtual \hyperlink{classace_1_1_depth_buffer___imp}{Depth\-Buffer\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a6e505725a34fbdcf164840816daf17b9}{Create\-Depth\-Buffer\-\_\-\-Imp} (int32\-\_\-t width, int32\-\_\-t height)=0
\begin{DoxyCompactList}\small\item\em 深度バッファを生成する。 \end{DoxyCompactList}\item 
std\-::shared\-\_\-ptr$<$ \hyperlink{classace_1_1_vertex_buffer___imp}{Vertex\-Buffer\-\_\-\-Imp} $>$ \hyperlink{classace_1_1_graphics___imp_af88aaa533769afe6ecc738479b041460}{Create\-Vertex\-Buffer\-\_\-\-Imp} (int32\-\_\-t size, int32\-\_\-t count, bool is\-Dynamic)
\begin{DoxyCompactList}\small\item\em 頂点バッファを生成する。 \end{DoxyCompactList}\item 
std\-::shared\-\_\-ptr$<$ \hyperlink{classace_1_1_index_buffer___imp}{Index\-Buffer\-\_\-\-Imp} $>$ \hyperlink{classace_1_1_graphics___imp_ae2a34e26bebf4fba4679f848e8c58bfa}{Create\-Index\-Buffer\-\_\-\-Imp} (int max\-Count, bool is\-Dynamic, bool is32bit)
\begin{DoxyCompactList}\small\item\em インデックスバッファを生成する。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_ac7b3624353fe77fe27ac7e2eb4eca501}{std\-::shared\-\_\-ptr$<$ \hyperlink{classace_1_1_native_shader___imp}{Native\-Shader\-\_\-\-Imp} $>$ {\bfseries Create\-Shader\-\_\-\-Imp} (const char $\ast$vertex\-Shader\-Text, const char $\ast$vertex\-Shader\-File\-Name, const char $\ast$pixel\-Shader\-Text, const char $\ast$pixel\-Shader\-File\-Name, std\-::vector$<$ \hyperlink{structace_1_1_vertex_layout}{Vertex\-Layout} $>$ \&layout, std\-::vector$<$ \hyperlink{structace_1_1_macro}{Macro} $>$ \&macro)}\label{classace_1_1_graphics___imp_ac7b3624353fe77fe27ac7e2eb4eca501}

\item 
\hyperlink{classace_1_1_render_state___imp}{Render\-State\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a12dab71d38b1e8f9182b9c791b743129}{Get\-Render\-State} ()
\begin{DoxyCompactList}\small\item\em レンダーステートを取得する。 \end{DoxyCompactList}\item 
\hyperlink{classace_1_1_graphics_resource_container}{Graphics\-Resource\-Container} $\ast$ \hyperlink{classace_1_1_graphics___imp_aa89cff5e65aa17e8fc6dbcf39cd96266}{Get\-Resource\-Container} ()
\begin{DoxyCompactList}\small\item\em リソースコンテナを取得する。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_a81aa934a2edfbda3477950df6f9df5ff}{void \hyperlink{classace_1_1_graphics___imp_a81aa934a2edfbda3477950df6f9df5ff}{Set\-Vertex\-Buffer} (\hyperlink{classace_1_1_vertex_buffer___imp}{Vertex\-Buffer\-\_\-\-Imp} $\ast$vertex\-Buffer)}\label{classace_1_1_graphics___imp_a81aa934a2edfbda3477950df6f9df5ff}

\begin{DoxyCompactList}\small\item\em 描画のための頂点バッファを設定する。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_aa3ae651c215758dd4db0c11dde95f554}{void \hyperlink{classace_1_1_graphics___imp_aa3ae651c215758dd4db0c11dde95f554}{Set\-Index\-Buffer} (\hyperlink{classace_1_1_index_buffer___imp}{Index\-Buffer\-\_\-\-Imp} $\ast$index\-Buffer)}\label{classace_1_1_graphics___imp_aa3ae651c215758dd4db0c11dde95f554}

\begin{DoxyCompactList}\small\item\em 描画のためのインデックスバッファを設定する。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_a532f5b750ec22031f620a2f522a63a7c}{void \hyperlink{classace_1_1_graphics___imp_a532f5b750ec22031f620a2f522a63a7c}{Set\-Shader} (\hyperlink{classace_1_1_native_shader___imp}{Native\-Shader\-\_\-\-Imp} $\ast$shader)}\label{classace_1_1_graphics___imp_a532f5b750ec22031f620a2f522a63a7c}

\begin{DoxyCompactList}\small\item\em 描画のためのシェーダーを設定する。 \end{DoxyCompactList}\item 
void \hyperlink{classace_1_1_graphics___imp_aeb8df260b8fb99762ce581f74d07e686}{Draw\-Polygon} (int32\-\_\-t count)
\begin{DoxyCompactList}\small\item\em ポリゴンを描画する。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_acb8a62e068665cb34bac02a41c80bb75}{void \hyperlink{classace_1_1_graphics___imp_acb8a62e068665cb34bac02a41c80bb75}{Begin} ()}\label{classace_1_1_graphics___imp_acb8a62e068665cb34bac02a41c80bb75}

\begin{DoxyCompactList}\small\item\em 描画開始前のリセット処理を行う。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_afe747c536b11deab673f26b67a80b3ef}{void \hyperlink{classace_1_1_graphics___imp_afe747c536b11deab673f26b67a80b3ef}{End} ()}\label{classace_1_1_graphics___imp_afe747c536b11deab673f26b67a80b3ef}

\begin{DoxyCompactList}\small\item\em 描画終了後のリセット処理を行う。 \end{DoxyCompactList}\item 
virtual void \hyperlink{classace_1_1_graphics___imp_a5d79011241a426c9260aeca0a7cc5b81}{Set\-Render\-Target} (\hyperlink{classace_1_1_render_texture___imp}{Render\-Texture\-\_\-\-Imp} $\ast$texture, \hyperlink{classace_1_1_depth_buffer___imp}{Depth\-Buffer\-\_\-\-Imp} $\ast$depth\-Buffer)=0
\begin{DoxyCompactList}\small\item\em 描画先を設定する。 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public メソッド}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classace_1_1_graphics___imp_a192b3d386390141d4ea0ad086ffb5b18}{static \hyperlink{classace_1_1_graphics___imp}{Graphics\-\_\-\-Imp} $\ast$ {\bfseries Create} (\hyperlink{classace_1_1_window}{Window} $\ast$window, bool is\-Open\-G\-L\-Mode, \hyperlink{classace_1_1_log}{Log} $\ast$log)}\label{classace_1_1_graphics___imp_a192b3d386390141d4ea0ad086ffb5b18}

\item 
\hypertarget{classace_1_1_graphics___imp_af5980f2b9622f863aec35ff58d503c95}{static \hyperlink{classace_1_1_graphics___imp}{Graphics\-\_\-\-Imp} $\ast$ {\bfseries Create} (void $\ast$handle1, void $\ast$handle2, int32\-\_\-t width, int32\-\_\-t height, bool is\-Open\-G\-L\-Mode, \hyperlink{classace_1_1_log}{Log} $\ast$log)}\label{classace_1_1_graphics___imp_af5980f2b9622f863aec35ff58d503c95}

\end{DoxyCompactItemize}
\subsection*{Protected メソッド}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classace_1_1_graphics___imp_aff2efc4e46a77b1bbe098a4819d5aeb9}{void {\bfseries Reset\-Draw\-State} ()}\label{classace_1_1_graphics___imp_aff2efc4e46a77b1bbe098a4819d5aeb9}

\item 
void \hyperlink{classace_1_1_graphics___imp_a5d5b0caf8f3ffa60168b17ccb20a523a}{Save\-P\-N\-G\-Image} (const achar $\ast$filepath, int32\-\_\-t width, int32\-\_\-t height, void $\ast$data, bool rev)
\begin{DoxyCompactList}\small\item\em P\-N\-Gファイルを保存する。 \end{DoxyCompactList}\item 
\hypertarget{classace_1_1_graphics___imp_a544481f9a5752ca29deb3ab1e9cc2718}{\hyperlink{classace_1_1_texture2_d}{Texture2\-D} $\ast$ {\bfseries Create\-Texture2\-D\-\_\-} (const achar $\ast$path)}\label{classace_1_1_graphics___imp_a544481f9a5752ca29deb3ab1e9cc2718}

\item 
\hypertarget{classace_1_1_graphics___imp_a0e803fbdca2823b09973f7eb51d0b158}{\hyperlink{classace_1_1_render_texture2_d}{Render\-Texture2\-D} $\ast$ {\bfseries Create\-Render\-Texture2\-D\-\_\-} (int32\-\_\-t width, int32\-\_\-t height, e\-Texture\-Format format)}\label{classace_1_1_graphics___imp_a0e803fbdca2823b09973f7eb51d0b158}

\item 
\hypertarget{classace_1_1_graphics___imp_a72e987f6950ce7531a289de8d7bc0062}{\hyperlink{classace_1_1_shader2_d}{Shader2\-D} $\ast$ {\bfseries Create\-Shader2\-D\-\_\-} (const achar $\ast$shader\-Text, \hyperlink{classace_1_1_shader_variable_property}{Shader\-Variable\-Property} $\ast$variable\-Properties, int32\-\_\-t variable\-Properties\-Count)}\label{classace_1_1_graphics___imp_a72e987f6950ce7531a289de8d7bc0062}

\item 
\hypertarget{classace_1_1_graphics___imp_a66e6142c52a710aa303ed9cabae47ba2}{\hyperlink{classace_1_1_material2_d}{Material2\-D} $\ast$ {\bfseries Create\-Material2\-D\-\_\-} (\hyperlink{classace_1_1_shader2_d}{Shader2\-D} $\ast$shader)}\label{classace_1_1_graphics___imp_a66e6142c52a710aa303ed9cabae47ba2}

\item 
\hypertarget{classace_1_1_graphics___imp_ab5d18e4f51eda3f2af41793d762ff2ba}{virtual \hyperlink{classace_1_1_vertex_buffer___imp}{Vertex\-Buffer\-\_\-\-Imp} $\ast$ {\bfseries Create\-Vertex\-Buffer\-\_\-\-Imp\-\_\-} (int32\-\_\-t size, int32\-\_\-t count, bool is\-Dynamic)=0}\label{classace_1_1_graphics___imp_ab5d18e4f51eda3f2af41793d762ff2ba}

\item 
\hypertarget{classace_1_1_graphics___imp_ace801f8abc720cde2c570ee5d17cce44}{virtual \hyperlink{classace_1_1_index_buffer___imp}{Index\-Buffer\-\_\-\-Imp} $\ast$ {\bfseries Create\-Index\-Buffer\-\_\-\-Imp\-\_\-} (int max\-Count, bool is\-Dynamic, bool is32bit)=0}\label{classace_1_1_graphics___imp_ace801f8abc720cde2c570ee5d17cce44}

\item 
\hypertarget{classace_1_1_graphics___imp_a7cb86538ce81e71aa2d92a612824e0d4}{virtual \hyperlink{classace_1_1_native_shader___imp}{Native\-Shader\-\_\-\-Imp} $\ast$ {\bfseries Create\-Shader\-\_\-\-Imp\-\_\-} (const char $\ast$vertex\-Shader\-Text, const char $\ast$vertex\-Shader\-File\-Name, const char $\ast$pixel\-Shader\-Text, const char $\ast$pixel\-Shader\-File\-Name, std\-::vector$<$ \hyperlink{structace_1_1_vertex_layout}{Vertex\-Layout} $>$ \&layout, std\-::vector$<$ \hyperlink{structace_1_1_macro}{Macro} $>$ \&macro)=0}\label{classace_1_1_graphics___imp_a7cb86538ce81e71aa2d92a612824e0d4}

\item 
\hypertarget{classace_1_1_graphics___imp_ad9e6f8c930cc8f02bd5cf38603b9463e}{virtual void {\bfseries Draw\-Polygon\-Internal} (int32\-\_\-t count, \hyperlink{classace_1_1_vertex_buffer___imp}{Vertex\-Buffer\-\_\-\-Imp} $\ast$vertex\-Buffer, \hyperlink{classace_1_1_index_buffer___imp}{Index\-Buffer\-\_\-\-Imp} $\ast$index\-Buffer, \hyperlink{classace_1_1_native_shader___imp}{Native\-Shader\-\_\-\-Imp} $\ast$shader\-Ptr)=0}\label{classace_1_1_graphics___imp_ad9e6f8c930cc8f02bd5cf38603b9463e}

\item 
\hypertarget{classace_1_1_graphics___imp_ac7132bbc33c384c2bedcc228b932ffad}{virtual void {\bfseries Begin\-Internal} ()=0}\label{classace_1_1_graphics___imp_ac7132bbc33c384c2bedcc228b932ffad}

\item 
virtual \hyperlink{classace_1_1_texture2_d___imp}{Texture2\-D\-\_\-\-Imp} $\ast$ \hyperlink{classace_1_1_graphics___imp_a22b71332aee484e37c2246413527a501}{Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal} (\hyperlink{classace_1_1_graphics}{Graphics} $\ast$graphics, uint8\-\_\-t $\ast$data, int32\-\_\-t size)=0
\begin{DoxyCompactList}\small\item\em テクスチャを生成する。 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected 変数}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classace_1_1_graphics___imp_af8c4c3d43ddaa410bdbe12630a88284b}{\hyperlink{structace_1_1_vector2_d_i}{Vector2\-D\-I} {\bfseries m\-\_\-size}}\label{classace_1_1_graphics___imp_af8c4c3d43ddaa410bdbe12630a88284b}

\item 
\hypertarget{classace_1_1_graphics___imp_a359978a3284155948800109df499fb64}{\hyperlink{classace_1_1_render_state___imp}{Render\-State\-\_\-\-Imp} $\ast$ {\bfseries m\-\_\-render\-State}}\label{classace_1_1_graphics___imp_a359978a3284155948800109df499fb64}

\item 
\hypertarget{classace_1_1_graphics___imp_a3178781dcd28d5c5a11a7e078e7772b1}{\hyperlink{classace_1_1_graphics_resource_container}{Graphics\-Resource\-Container} $\ast$ {\bfseries m\-\_\-resource\-Container}}\label{classace_1_1_graphics___imp_a3178781dcd28d5c5a11a7e078e7772b1}

\item 
\hypertarget{classace_1_1_graphics___imp_ab46f379b61fafbfea6f61bf39528d944}{\hyperlink{classace_1_1_log}{Log} $\ast$ {\bfseries m\-\_\-log}}\label{classace_1_1_graphics___imp_ab46f379b61fafbfea6f61bf39528d944}

\end{DoxyCompactItemize}
\subsection*{フレンド}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classace_1_1_graphics___imp_ac58fe8004bc3fec8918ef536256c1e72}{class {\bfseries Device\-Object}}\label{classace_1_1_graphics___imp_ac58fe8004bc3fec8918ef536256c1e72}

\end{DoxyCompactItemize}


\subsection{説明}
描画を管理するクラス 

\begin{DoxyNote}{覚え書き}
現在、\-Graphicsクラスのインスタンスが複数存在した時の挙動は保証していない。 
\end{DoxyNote}


\subsection{関数}
\hypertarget{classace_1_1_graphics___imp_a01cdb8dced31a926c9ca604ebdf1e90a}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Clear@{Clear}}
\index{Clear@{Clear}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Clear}]{\setlength{\rightskip}{0pt plus 5cm}virtual void ace\-::\-Graphics\-\_\-\-Imp\-::\-Clear (
\begin{DoxyParamCaption}
\item[{bool}]{is\-Color\-Target, }
\item[{bool}]{is\-Depth\-Target, }
\item[{const {\bf Color} \&}]{color}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classace_1_1_graphics___imp_a01cdb8dced31a926c9ca604ebdf1e90a}


画面をクリアする。 


\begin{DoxyParams}{引数}
{\em is\-Color\-Target} & 色をクリアするか \\
\hline
{\em is\-Depth\-Target} & 深度をクリアするぁ \\
\hline
{\em color} & クリアに使用する色 \\
\hline
\end{DoxyParams}


\hyperlink{classace_1_1_graphics___imp___d_x11_a4879fa2342124e653a097b5ce0b61c7e}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-D\-X11}, と \hyperlink{classace_1_1_graphics___imp___g_l_a26573423a68fdb19b620fbb60a5844cf}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-G\-L}で実装されています。

\hypertarget{classace_1_1_graphics___imp_a6e505725a34fbdcf164840816daf17b9}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Depth\-Buffer\-\_\-\-Imp@{Create\-Depth\-Buffer\-\_\-\-Imp}}
\index{Create\-Depth\-Buffer\-\_\-\-Imp@{Create\-Depth\-Buffer\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Depth\-Buffer\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Depth\-Buffer\-\_\-\-Imp}$\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Depth\-Buffer\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{int32\-\_\-t}]{width, }
\item[{int32\-\_\-t}]{height}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classace_1_1_graphics___imp_a6e505725a34fbdcf164840816daf17b9}


深度バッファを生成する。 


\begin{DoxyParams}{引数}
{\em width} & 横幅 \\
\hline
{\em height} & 縦幅 \\
\hline
\end{DoxyParams}


\hyperlink{classace_1_1_graphics___imp___d_x11_a6b3f76cc423b5bb3701d24f6a74900fd}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-D\-X11}, と \hyperlink{classace_1_1_graphics___imp___g_l_a3445a79ebd6de7d6b206ede8029ba194}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-G\-L}で実装されています。

\hypertarget{classace_1_1_graphics___imp_ae2a34e26bebf4fba4679f848e8c58bfa}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Index\-Buffer\-\_\-\-Imp@{Create\-Index\-Buffer\-\_\-\-Imp}}
\index{Create\-Index\-Buffer\-\_\-\-Imp@{Create\-Index\-Buffer\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Index\-Buffer\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}std\-::shared\-\_\-ptr$<${\bf Index\-Buffer\-\_\-\-Imp}$>$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Index\-Buffer\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{int}]{max\-Count, }
\item[{bool}]{is\-Dynamic, }
\item[{bool}]{is32bit}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classace_1_1_graphics___imp_ae2a34e26bebf4fba4679f848e8c58bfa}


インデックスバッファを生成する。 


\begin{DoxyParams}{引数}
{\em max\-Count} & インデックス数 \\
\hline
{\em is\-Dynamic} & 内部メモリの変更を高速にできるようにするか? \\
\hline
{\em is32bit} & 内部メモリのインデックスをint32\-\_\-tとして確保するか? \\
\hline
\end{DoxyParams}
\hypertarget{classace_1_1_graphics___imp_a4f8f3d3daef4298ad535cbb268677058}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Material2\-D\-\_\-\-Imp@{Create\-Material2\-D\-\_\-\-Imp}}
\index{Create\-Material2\-D\-\_\-\-Imp@{Create\-Material2\-D\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Material2\-D\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Material2\-D\-\_\-\-Imp} $\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Material2\-D\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{{\bf Shader2\-D\-\_\-\-Imp} $\ast$}]{shader}
\end{DoxyParamCaption}
)}}\label{classace_1_1_graphics___imp_a4f8f3d3daef4298ad535cbb268677058}


マテリアル(2\-D)を生成する。 


\begin{DoxyParams}{引数}
{\em shader} & シェーダー \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{戻り値}
マテリアル(2\-D) 
\end{DoxyReturn}
\hypertarget{classace_1_1_graphics___imp_a5390d16360dbfba39ead84687bc331a6}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Render\-Texture\-\_\-\-Imp@{Create\-Render\-Texture\-\_\-\-Imp}}
\index{Create\-Render\-Texture\-\_\-\-Imp@{Create\-Render\-Texture\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Render\-Texture\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Render\-Texture\-\_\-\-Imp}$\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Render\-Texture\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{int32\-\_\-t}]{width, }
\item[{int32\-\_\-t}]{height, }
\item[{e\-Texture\-Format}]{format}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classace_1_1_graphics___imp_a5390d16360dbfba39ead84687bc331a6}


描画先として指定可能なテクスチャを生成する。 


\begin{DoxyParams}{引数}
{\em width} & 横幅 \\
\hline
{\em height} & 縦幅 \\
\hline
\end{DoxyParams}


\hyperlink{classace_1_1_graphics___imp___d_x11_a5da4508eb1ecb80ccfc465e4191d41b1}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-D\-X11}, と \hyperlink{classace_1_1_graphics___imp___g_l_a27d11268f4ac5c33930dd8c6d6810b1c}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-G\-L}で実装されています。

\hypertarget{classace_1_1_graphics___imp_a451276265eb812183e7fd36e7f05ed82}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Shader2\-D\-\_\-\-Imp@{Create\-Shader2\-D\-\_\-\-Imp}}
\index{Create\-Shader2\-D\-\_\-\-Imp@{Create\-Shader2\-D\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Shader2\-D\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Shader2\-D\-\_\-\-Imp} $\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Shader2\-D\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{const achar $\ast$}]{shader\-Text, }
\item[{std\-::vector$<$ {\bf Shader\-Variable\-Property} $>$ \&}]{variable\-Properties}
\end{DoxyParamCaption}
)}}\label{classace_1_1_graphics___imp_a451276265eb812183e7fd36e7f05ed82}


シェーダー(2\-D)を生成する。 


\begin{DoxyParams}{引数}
{\em shader\-Text} & シェーダーのコード \\
\hline
{\em pixel\-Variable\-Properties} & シェーダーで使用可能な外部入力可能な変数 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{戻り値}
シェーダー(2\-D) 
\end{DoxyReturn}
\hypertarget{classace_1_1_graphics___imp_a24ce9f935d22e97fd06a9012501df320}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Texture2\-D\-\_\-\-Imp@{Create\-Texture2\-D\-\_\-\-Imp}}
\index{Create\-Texture2\-D\-\_\-\-Imp@{Create\-Texture2\-D\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Texture2\-D\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Texture2\-D\-\_\-\-Imp} $\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Texture2\-D\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{const achar $\ast$}]{path}
\end{DoxyParamCaption}
)}}\label{classace_1_1_graphics___imp_a24ce9f935d22e97fd06a9012501df320}


テクスチャを生成する。 


\begin{DoxyParams}{引数}
{\em path} & パス \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{戻り値}
テクスチャ 
\end{DoxyReturn}
\hypertarget{classace_1_1_graphics___imp_a22b71332aee484e37c2246413527a501}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal@{Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal}}
\index{Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal@{Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Texture2\-D\-\_\-\-Imp}$\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Texture2\-D\-\_\-\-Imp\-\_\-\-Internal (
\begin{DoxyParamCaption}
\item[{{\bf Graphics} $\ast$}]{graphics, }
\item[{uint8\-\_\-t $\ast$}]{data, }
\item[{int32\-\_\-t}]{size}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}}\label{classace_1_1_graphics___imp_a22b71332aee484e37c2246413527a501}


テクスチャを生成する。 


\begin{DoxyParams}{引数}
{\em graphics} & グラフィック \\
\hline
{\em data} & データ \\
\hline
{\em size} & データサイズ \\
\hline
\end{DoxyParams}


\hyperlink{classace_1_1_graphics___imp___d_x11_abd1a2f1e674af236b449861d08bb0ee2}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-D\-X11}, と \hyperlink{classace_1_1_graphics___imp___g_l_ad30162b11d6cc25b761fb6b1e70aef89}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-G\-L}で実装されています。

\hypertarget{classace_1_1_graphics___imp_af88aaa533769afe6ecc738479b041460}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Create\-Vertex\-Buffer\-\_\-\-Imp@{Create\-Vertex\-Buffer\-\_\-\-Imp}}
\index{Create\-Vertex\-Buffer\-\_\-\-Imp@{Create\-Vertex\-Buffer\-\_\-\-Imp}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Create\-Vertex\-Buffer\-\_\-\-Imp}]{\setlength{\rightskip}{0pt plus 5cm}std\-::shared\-\_\-ptr$<${\bf Vertex\-Buffer\-\_\-\-Imp}$>$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Create\-Vertex\-Buffer\-\_\-\-Imp (
\begin{DoxyParamCaption}
\item[{int32\-\_\-t}]{size, }
\item[{int32\-\_\-t}]{count, }
\item[{bool}]{is\-Dynamic}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classace_1_1_graphics___imp_af88aaa533769afe6ecc738479b041460}


頂点バッファを生成する。 


\begin{DoxyParams}{引数}
{\em size} & 頂点のバッファサイズ \\
\hline
{\em count} & 頂点数 \\
\hline
{\em is\-Dynamic} & 内部メモリの変更を高速にできるようにするか? \\
\hline
\end{DoxyParams}
\hypertarget{classace_1_1_graphics___imp_aeb8df260b8fb99762ce581f74d07e686}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Draw\-Polygon@{Draw\-Polygon}}
\index{Draw\-Polygon@{Draw\-Polygon}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Draw\-Polygon}]{\setlength{\rightskip}{0pt plus 5cm}void ace\-::\-Graphics\-\_\-\-Imp\-::\-Draw\-Polygon (
\begin{DoxyParamCaption}
\item[{int32\-\_\-t}]{count}
\end{DoxyParamCaption}
)}}\label{classace_1_1_graphics___imp_aeb8df260b8fb99762ce581f74d07e686}


ポリゴンを描画する。 


\begin{DoxyParams}{引数}
{\em count} & ポリゴン数 \\
\hline
\end{DoxyParams}
\hypertarget{classace_1_1_graphics___imp_a12dab71d38b1e8f9182b9c791b743129}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Get\-Render\-State@{Get\-Render\-State}}
\index{Get\-Render\-State@{Get\-Render\-State}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Get\-Render\-State}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Render\-State\-\_\-\-Imp}$\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Get\-Render\-State (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classace_1_1_graphics___imp_a12dab71d38b1e8f9182b9c791b743129}


レンダーステートを取得する。 

\begin{DoxyReturn}{戻り値}
レンダーステート 
\end{DoxyReturn}
\hypertarget{classace_1_1_graphics___imp_aa89cff5e65aa17e8fc6dbcf39cd96266}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Get\-Resource\-Container@{Get\-Resource\-Container}}
\index{Get\-Resource\-Container@{Get\-Resource\-Container}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Get\-Resource\-Container}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Graphics\-Resource\-Container}$\ast$ ace\-::\-Graphics\-\_\-\-Imp\-::\-Get\-Resource\-Container (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classace_1_1_graphics___imp_aa89cff5e65aa17e8fc6dbcf39cd96266}


リソースコンテナを取得する。 

\begin{DoxyReturn}{戻り値}
リソースコンテナ 
\end{DoxyReturn}
\hypertarget{classace_1_1_graphics___imp_a5d5b0caf8f3ffa60168b17ccb20a523a}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Save\-P\-N\-G\-Image@{Save\-P\-N\-G\-Image}}
\index{Save\-P\-N\-G\-Image@{Save\-P\-N\-G\-Image}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Save\-P\-N\-G\-Image}]{\setlength{\rightskip}{0pt plus 5cm}void ace\-::\-Graphics\-\_\-\-Imp\-::\-Save\-P\-N\-G\-Image (
\begin{DoxyParamCaption}
\item[{const achar $\ast$}]{filepath, }
\item[{int32\-\_\-t}]{width, }
\item[{int32\-\_\-t}]{height, }
\item[{void $\ast$}]{data, }
\item[{bool}]{rev}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{classace_1_1_graphics___imp_a5d5b0caf8f3ffa60168b17ccb20a523a}


P\-N\-Gファイルを保存する。 


\begin{DoxyParams}{引数}
{\em filepath} & 保存先 \\
\hline
{\em width} & 横幅 \\
\hline
{\em height} & 縦幅 \\
\hline
{\em data} & 隙間なく敷き詰められた画素データ(1画素4byte固定) \\
\hline
{\em rev} & 上下反転で保存する。 \\
\hline
\end{DoxyParams}
\hypertarget{classace_1_1_graphics___imp_afab7408e22bc54b909485422a2b15b6c}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Save\-Screenshot@{Save\-Screenshot}}
\index{Save\-Screenshot@{Save\-Screenshot}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Save\-Screenshot}]{\setlength{\rightskip}{0pt plus 5cm}virtual void ace\-::\-Graphics\-\_\-\-Imp\-::\-Save\-Screenshot (
\begin{DoxyParamCaption}
\item[{const achar $\ast$}]{path}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classace_1_1_graphics___imp_afab7408e22bc54b909485422a2b15b6c}


スクリーンショットを保存する。 


\begin{DoxyParams}{引数}
{\em path} & 保存先 \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{覚え書き}
Open\-G\-Lの現状の実装だと、\-Render\-Target等が指定されている状態では使えないため、 使用できるのは\-Do\-Eventsか\-Present近辺のみである。 
\end{DoxyNote}


\hyperlink{classace_1_1_graphics___imp___d_x11_a86b7eddf3e16351cfd3730a2dd686d8b}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-D\-X11}, と \hyperlink{classace_1_1_graphics___imp___g_l_a35715d1652cfbb5e79be271334778d54}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-G\-L}で実装されています。

\hypertarget{classace_1_1_graphics___imp_a5d79011241a426c9260aeca0a7cc5b81}{\index{ace\-::\-Graphics\-\_\-\-Imp@{ace\-::\-Graphics\-\_\-\-Imp}!Set\-Render\-Target@{Set\-Render\-Target}}
\index{Set\-Render\-Target@{Set\-Render\-Target}!ace::Graphics_Imp@{ace\-::\-Graphics\-\_\-\-Imp}}
\subsubsection[{Set\-Render\-Target}]{\setlength{\rightskip}{0pt plus 5cm}virtual void ace\-::\-Graphics\-\_\-\-Imp\-::\-Set\-Render\-Target (
\begin{DoxyParamCaption}
\item[{{\bf Render\-Texture\-\_\-\-Imp} $\ast$}]{texture, }
\item[{{\bf Depth\-Buffer\-\_\-\-Imp} $\ast$}]{depth\-Buffer}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classace_1_1_graphics___imp_a5d79011241a426c9260aeca0a7cc5b81}


描画先を設定する。 


\begin{DoxyParams}{引数}
{\em texture} & 描画先のテクスチャ \\
\hline
{\em depth\-Buffer} & 描画先の深度バッファ \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{覚え書き}
textureがnullの場合は無条件で、デフォルトの描画先を使用する。 
\end{DoxyNote}


\hyperlink{classace_1_1_graphics___imp___d_x11_a9489c1db88a35a436ad33215040ac42c}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-D\-X11}, と \hyperlink{classace_1_1_graphics___imp___g_l_ae2f094e45f045300de5f7fecefdc95e4}{ace\-::\-Graphics\-\_\-\-Imp\-\_\-\-G\-L}で実装されています。



このクラスの説明は次のファイルから生成されました\-:\begin{DoxyCompactItemize}
\item 
Dev/ace\-\_\-cpp/core/\-Graphics/\-Common/ace.\-Graphics\-\_\-\-Imp.\-h\item 
Dev/ace\-\_\-cpp/core/\-Graphics/\-Common/ace.\-Graphics\-\_\-\-Imp.\-cpp\end{DoxyCompactItemize}
